package com.abc.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
/**
*
*  @author author
*/
public class Upload implements Serializable {

    private static final long serialVersionUID = 1539848454105L;


    /**
    * 主键
    * 
    * isNullAble:0
    */
    private Integer id;

    /**
    * 
    * isNullAble:1
    */
    private String name;

    /**
    * 
    * isNullAble:1
    */
    private String userId;

    /**
    * 
    * isNullAble:1
    */
    private String path;

    /**
    * 
    * isNullAble:1
    */
    private String suffix;

    /**
    * 
    * isNullAble:1
    */
    private String size;

    /**
    * 
    * isNullAble:1
    */
    private java.time.LocalDateTime createTime;

    /**
    * 
    * isNullAble:1
    */
    private Integer status;


    public void setId(Integer id){this.id = id;}

    public Integer getId(){return this.id;}

    public void setName(String name){this.name = name;}

    public String getName(){return this.name;}

    public void setUserId(String userId){this.userId = userId;}

    public String getUserId(){return this.userId;}

    public void setPath(String path){this.path = path;}

    public String getPath(){return this.path;}

    public void setSuffix(String suffix){this.suffix = suffix;}

    public String getSuffix(){return this.suffix;}

    public void setSize(String size){this.size = size;}

    public String getSize(){return this.size;}

    public void setCreateTime(java.time.LocalDateTime createTime){this.createTime = createTime;}

    public java.time.LocalDateTime getCreateTime(){return this.createTime;}

    public void setStatus(Integer status){this.status = status;}

    public Integer getStatus(){return this.status;}
    @Override
    public String toString() {
        return "Upload{" +
                "id='" + id + '\'' +
                "name='" + name + '\'' +
                "userId='" + userId + '\'' +
                "path='" + path + '\'' +
                "suffix='" + suffix + '\'' +
                "size='" + size + '\'' +
                "createTime='" + createTime + '\'' +
                "status='" + status + '\'' +
            '}';
    }

    public static Builder Build(){return new Builder();}

    public static ConditionBuilder ConditionBuild(){return new ConditionBuilder();}

    public static UpdateBuilder UpdateBuild(){return new UpdateBuilder();}

    public static QueryBuilder QueryBuild(){return new QueryBuilder();}

    public static class UpdateBuilder {

        private Upload set;

        private ConditionBuilder where;

        public UpdateBuilder set(Upload set){
            this.set = set;
            return this;
        }

        public Upload getSet(){
            return this.set;
        }

        public UpdateBuilder where(ConditionBuilder where){
            this.where = where;
            return this;
        }

        public ConditionBuilder getWhere(){
            return this.where;
        }

        public UpdateBuilder build(){
            return this;
        }
    }

    public static class QueryBuilder extends Upload{
        /**
        * 需要返回的列
        */
        private Map<String,Object> fetchFields;

        public Map<String,Object> getFetchFields(){return this.fetchFields;}

        private List<Integer> idList;

        public List<Integer> getIdList(){return this.idList;}

        private Integer idSt;

        private Integer idEd;

        public Integer getIdSt(){return this.idSt;}

        public Integer getIdEd(){return this.idEd;}

        private List<String> nameList;

        public List<String> getNameList(){return this.nameList;}


        private List<String> fuzzyName;

        public List<String> getFuzzyName(){return this.fuzzyName;}

        private List<String> rightFuzzyName;

        public List<String> getRightFuzzyName(){return this.rightFuzzyName;}
        private List<String> userIdList;

        public List<String> getUserIdList(){return this.userIdList;}


        private List<String> fuzzyUserId;

        public List<String> getFuzzyUserId(){return this.fuzzyUserId;}

        private List<String> rightFuzzyUserId;

        public List<String> getRightFuzzyUserId(){return this.rightFuzzyUserId;}
        private List<String> pathList;

        public List<String> getPathList(){return this.pathList;}


        private List<String> fuzzyPath;

        public List<String> getFuzzyPath(){return this.fuzzyPath;}

        private List<String> rightFuzzyPath;

        public List<String> getRightFuzzyPath(){return this.rightFuzzyPath;}
        private List<String> suffixList;

        public List<String> getSuffixList(){return this.suffixList;}


        private List<String> fuzzySuffix;

        public List<String> getFuzzySuffix(){return this.fuzzySuffix;}

        private List<String> rightFuzzySuffix;

        public List<String> getRightFuzzySuffix(){return this.rightFuzzySuffix;}
        private List<String> sizeList;

        public List<String> getSizeList(){return this.sizeList;}


        private List<String> fuzzySize;

        public List<String> getFuzzySize(){return this.fuzzySize;}

        private List<String> rightFuzzySize;

        public List<String> getRightFuzzySize(){return this.rightFuzzySize;}
        private List<java.time.LocalDateTime> createTimeList;

        public List<java.time.LocalDateTime> getCreateTimeList(){return this.createTimeList;}

        private java.time.LocalDateTime createTimeSt;

        private java.time.LocalDateTime createTimeEd;

        public java.time.LocalDateTime getCreateTimeSt(){return this.createTimeSt;}

        public java.time.LocalDateTime getCreateTimeEd(){return this.createTimeEd;}

        private List<Integer> statusList;

        public List<Integer> getStatusList(){return this.statusList;}

        private Integer statusSt;

        private Integer statusEd;

        public Integer getStatusSt(){return this.statusSt;}

        public Integer getStatusEd(){return this.statusEd;}

        private QueryBuilder (){
            this.fetchFields = new HashMap<>();
        }

        public QueryBuilder idBetWeen(Integer idSt,Integer idEd){
            this.idSt = idSt;
            this.idEd = idEd;
            return this;
        }

        public QueryBuilder idGreaterEqThan(Integer idSt){
            this.idSt = idSt;
            return this;
        }
        public QueryBuilder idLessEqThan(Integer idEd){
            this.idEd = idEd;
            return this;
        }


        public QueryBuilder id(Integer id){
            setId(id);
            return this;
        }

        public QueryBuilder idList(Integer ... id){
            this.idList = solveNullList(id);
            return this;
        }

        public QueryBuilder idList(List<Integer> id){
            this.idList = id;
            return this;
        }

        public QueryBuilder fetchId(){
            setFetchFields("fetchFields","id");
            return this;
        }

        public QueryBuilder excludeId(){
            setFetchFields("excludeFields","id");
            return this;
        }

        public QueryBuilder fuzzyName (List<String> fuzzyName){
            this.fuzzyName = fuzzyName;
            return this;
        }

        public QueryBuilder fuzzyName (String ... fuzzyName){
            this.fuzzyName = solveNullList(fuzzyName);
            return this;
        }

        public QueryBuilder rightFuzzyName (List<String> rightFuzzyName){
            this.rightFuzzyName = rightFuzzyName;
            return this;
        }

        public QueryBuilder rightFuzzyName (String ... rightFuzzyName){
            this.rightFuzzyName = solveNullList(rightFuzzyName);
            return this;
        }

        public QueryBuilder name(String name){
            setName(name);
            return this;
        }

        public QueryBuilder nameList(String ... name){
            this.nameList = solveNullList(name);
            return this;
        }

        public QueryBuilder nameList(List<String> name){
            this.nameList = name;
            return this;
        }

        public QueryBuilder fetchName(){
            setFetchFields("fetchFields","name");
            return this;
        }

        public QueryBuilder excludeName(){
            setFetchFields("excludeFields","name");
            return this;
        }

        public QueryBuilder fuzzyUserId (List<String> fuzzyUserId){
            this.fuzzyUserId = fuzzyUserId;
            return this;
        }

        public QueryBuilder fuzzyUserId (String ... fuzzyUserId){
            this.fuzzyUserId = solveNullList(fuzzyUserId);
            return this;
        }

        public QueryBuilder rightFuzzyUserId (List<String> rightFuzzyUserId){
            this.rightFuzzyUserId = rightFuzzyUserId;
            return this;
        }

        public QueryBuilder rightFuzzyUserId (String ... rightFuzzyUserId){
            this.rightFuzzyUserId = solveNullList(rightFuzzyUserId);
            return this;
        }

        public QueryBuilder userId(String userId){
            setUserId(userId);
            return this;
        }

        public QueryBuilder userIdList(String ... userId){
            this.userIdList = solveNullList(userId);
            return this;
        }

        public QueryBuilder userIdList(List<String> userId){
            this.userIdList = userId;
            return this;
        }

        public QueryBuilder fetchUserId(){
            setFetchFields("fetchFields","userId");
            return this;
        }

        public QueryBuilder excludeUserId(){
            setFetchFields("excludeFields","userId");
            return this;
        }

        public QueryBuilder fuzzyPath (List<String> fuzzyPath){
            this.fuzzyPath = fuzzyPath;
            return this;
        }

        public QueryBuilder fuzzyPath (String ... fuzzyPath){
            this.fuzzyPath = solveNullList(fuzzyPath);
            return this;
        }

        public QueryBuilder rightFuzzyPath (List<String> rightFuzzyPath){
            this.rightFuzzyPath = rightFuzzyPath;
            return this;
        }

        public QueryBuilder rightFuzzyPath (String ... rightFuzzyPath){
            this.rightFuzzyPath = solveNullList(rightFuzzyPath);
            return this;
        }

        public QueryBuilder path(String path){
            setPath(path);
            return this;
        }

        public QueryBuilder pathList(String ... path){
            this.pathList = solveNullList(path);
            return this;
        }

        public QueryBuilder pathList(List<String> path){
            this.pathList = path;
            return this;
        }

        public QueryBuilder fetchPath(){
            setFetchFields("fetchFields","path");
            return this;
        }

        public QueryBuilder excludePath(){
            setFetchFields("excludeFields","path");
            return this;
        }

        public QueryBuilder fuzzySuffix (List<String> fuzzySuffix){
            this.fuzzySuffix = fuzzySuffix;
            return this;
        }

        public QueryBuilder fuzzySuffix (String ... fuzzySuffix){
            this.fuzzySuffix = solveNullList(fuzzySuffix);
            return this;
        }

        public QueryBuilder rightFuzzySuffix (List<String> rightFuzzySuffix){
            this.rightFuzzySuffix = rightFuzzySuffix;
            return this;
        }

        public QueryBuilder rightFuzzySuffix (String ... rightFuzzySuffix){
            this.rightFuzzySuffix = solveNullList(rightFuzzySuffix);
            return this;
        }

        public QueryBuilder suffix(String suffix){
            setSuffix(suffix);
            return this;
        }

        public QueryBuilder suffixList(String ... suffix){
            this.suffixList = solveNullList(suffix);
            return this;
        }

        public QueryBuilder suffixList(List<String> suffix){
            this.suffixList = suffix;
            return this;
        }

        public QueryBuilder fetchSuffix(){
            setFetchFields("fetchFields","suffix");
            return this;
        }

        public QueryBuilder excludeSuffix(){
            setFetchFields("excludeFields","suffix");
            return this;
        }

        public QueryBuilder fuzzySize (List<String> fuzzySize){
            this.fuzzySize = fuzzySize;
            return this;
        }

        public QueryBuilder fuzzySize (String ... fuzzySize){
            this.fuzzySize = solveNullList(fuzzySize);
            return this;
        }

        public QueryBuilder rightFuzzySize (List<String> rightFuzzySize){
            this.rightFuzzySize = rightFuzzySize;
            return this;
        }

        public QueryBuilder rightFuzzySize (String ... rightFuzzySize){
            this.rightFuzzySize = solveNullList(rightFuzzySize);
            return this;
        }

        public QueryBuilder size(String size){
            setSize(size);
            return this;
        }

        public QueryBuilder sizeList(String ... size){
            this.sizeList = solveNullList(size);
            return this;
        }

        public QueryBuilder sizeList(List<String> size){
            this.sizeList = size;
            return this;
        }

        public QueryBuilder fetchSize(){
            setFetchFields("fetchFields","size");
            return this;
        }

        public QueryBuilder excludeSize(){
            setFetchFields("excludeFields","size");
            return this;
        }

        public QueryBuilder createTimeBetWeen(java.time.LocalDateTime createTimeSt,java.time.LocalDateTime createTimeEd){
            this.createTimeSt = createTimeSt;
            this.createTimeEd = createTimeEd;
            return this;
        }

        public QueryBuilder createTimeGreaterEqThan(java.time.LocalDateTime createTimeSt){
            this.createTimeSt = createTimeSt;
            return this;
        }
        public QueryBuilder createTimeLessEqThan(java.time.LocalDateTime createTimeEd){
            this.createTimeEd = createTimeEd;
            return this;
        }


        public QueryBuilder createTime(java.time.LocalDateTime createTime){
            setCreateTime(createTime);
            return this;
        }

        public QueryBuilder createTimeList(java.time.LocalDateTime ... createTime){
            this.createTimeList = solveNullList(createTime);
            return this;
        }

        public QueryBuilder createTimeList(List<java.time.LocalDateTime> createTime){
            this.createTimeList = createTime;
            return this;
        }

        public QueryBuilder fetchCreateTime(){
            setFetchFields("fetchFields","createTime");
            return this;
        }

        public QueryBuilder excludeCreateTime(){
            setFetchFields("excludeFields","createTime");
            return this;
        }

        public QueryBuilder statusBetWeen(Integer statusSt,Integer statusEd){
            this.statusSt = statusSt;
            this.statusEd = statusEd;
            return this;
        }

        public QueryBuilder statusGreaterEqThan(Integer statusSt){
            this.statusSt = statusSt;
            return this;
        }
        public QueryBuilder statusLessEqThan(Integer statusEd){
            this.statusEd = statusEd;
            return this;
        }


        public QueryBuilder status(Integer status){
            setStatus(status);
            return this;
        }

        public QueryBuilder statusList(Integer ... status){
            this.statusList = solveNullList(status);
            return this;
        }

        public QueryBuilder statusList(List<Integer> status){
            this.statusList = status;
            return this;
        }

        public QueryBuilder fetchStatus(){
            setFetchFields("fetchFields","status");
            return this;
        }

        public QueryBuilder excludeStatus(){
            setFetchFields("excludeFields","status");
            return this;
        }
        private <T>List<T> solveNullList(T ... objs){
            if (objs != null){
            List<T> list = new ArrayList<>();
                for (T item : objs){
                    if (item != null){
                        list.add(item);
                    }
                }
                return list;
            }
            return null;
        }

        public QueryBuilder fetchAll(){
            this.fetchFields.put("AllFields",true);
            return this;
        }

        public QueryBuilder addField(String ... fields){
            List<String> list = new ArrayList<>();
            if (fields != null){
                for (String field : fields){
                    list.add(field);
                }
            }
            this.fetchFields.put("otherFields",list);
            return this;
        }
        @SuppressWarnings("unchecked")
        private void setFetchFields(String key,String val){
            Map<String,Boolean> fields= (Map<String, Boolean>) this.fetchFields.get(key);
            if (fields == null){
                fields = new HashMap<>();
            }
            fields.put(val,true);
            this.fetchFields.put(key,fields);
        }

        public Upload build(){return this;}
    }


    public static class ConditionBuilder{
        private List<Integer> idList;

        public List<Integer> getIdList(){return this.idList;}

        private Integer idSt;

        private Integer idEd;

        public Integer getIdSt(){return this.idSt;}

        public Integer getIdEd(){return this.idEd;}

        private List<String> nameList;

        public List<String> getNameList(){return this.nameList;}


        private List<String> fuzzyName;

        public List<String> getFuzzyName(){return this.fuzzyName;}

        private List<String> rightFuzzyName;

        public List<String> getRightFuzzyName(){return this.rightFuzzyName;}
        private List<String> userIdList;

        public List<String> getUserIdList(){return this.userIdList;}


        private List<String> fuzzyUserId;

        public List<String> getFuzzyUserId(){return this.fuzzyUserId;}

        private List<String> rightFuzzyUserId;

        public List<String> getRightFuzzyUserId(){return this.rightFuzzyUserId;}
        private List<String> pathList;

        public List<String> getPathList(){return this.pathList;}


        private List<String> fuzzyPath;

        public List<String> getFuzzyPath(){return this.fuzzyPath;}

        private List<String> rightFuzzyPath;

        public List<String> getRightFuzzyPath(){return this.rightFuzzyPath;}
        private List<String> suffixList;

        public List<String> getSuffixList(){return this.suffixList;}


        private List<String> fuzzySuffix;

        public List<String> getFuzzySuffix(){return this.fuzzySuffix;}

        private List<String> rightFuzzySuffix;

        public List<String> getRightFuzzySuffix(){return this.rightFuzzySuffix;}
        private List<String> sizeList;

        public List<String> getSizeList(){return this.sizeList;}


        private List<String> fuzzySize;

        public List<String> getFuzzySize(){return this.fuzzySize;}

        private List<String> rightFuzzySize;

        public List<String> getRightFuzzySize(){return this.rightFuzzySize;}
        private List<java.time.LocalDateTime> createTimeList;

        public List<java.time.LocalDateTime> getCreateTimeList(){return this.createTimeList;}

        private java.time.LocalDateTime createTimeSt;

        private java.time.LocalDateTime createTimeEd;

        public java.time.LocalDateTime getCreateTimeSt(){return this.createTimeSt;}

        public java.time.LocalDateTime getCreateTimeEd(){return this.createTimeEd;}

        private List<Integer> statusList;

        public List<Integer> getStatusList(){return this.statusList;}

        private Integer statusSt;

        private Integer statusEd;

        public Integer getStatusSt(){return this.statusSt;}

        public Integer getStatusEd(){return this.statusEd;}


        public ConditionBuilder idBetWeen(Integer idSt,Integer idEd){
            this.idSt = idSt;
            this.idEd = idEd;
            return this;
        }

        public ConditionBuilder idGreaterEqThan(Integer idSt){
            this.idSt = idSt;
            return this;
        }
        public ConditionBuilder idLessEqThan(Integer idEd){
            this.idEd = idEd;
            return this;
        }


        public ConditionBuilder idList(Integer ... id){
            this.idList = solveNullList(id);
            return this;
        }

        public ConditionBuilder idList(List<Integer> id){
            this.idList = id;
            return this;
        }

        public ConditionBuilder fuzzyName (List<String> fuzzyName){
            this.fuzzyName = fuzzyName;
            return this;
        }

        public ConditionBuilder fuzzyName (String ... fuzzyName){
            this.fuzzyName = solveNullList(fuzzyName);
            return this;
        }

        public ConditionBuilder rightFuzzyName (List<String> rightFuzzyName){
            this.rightFuzzyName = rightFuzzyName;
            return this;
        }

        public ConditionBuilder rightFuzzyName (String ... rightFuzzyName){
            this.rightFuzzyName = solveNullList(rightFuzzyName);
            return this;
        }

        public ConditionBuilder nameList(String ... name){
            this.nameList = solveNullList(name);
            return this;
        }

        public ConditionBuilder nameList(List<String> name){
            this.nameList = name;
            return this;
        }

        public ConditionBuilder fuzzyUserId (List<String> fuzzyUserId){
            this.fuzzyUserId = fuzzyUserId;
            return this;
        }

        public ConditionBuilder fuzzyUserId (String ... fuzzyUserId){
            this.fuzzyUserId = solveNullList(fuzzyUserId);
            return this;
        }

        public ConditionBuilder rightFuzzyUserId (List<String> rightFuzzyUserId){
            this.rightFuzzyUserId = rightFuzzyUserId;
            return this;
        }

        public ConditionBuilder rightFuzzyUserId (String ... rightFuzzyUserId){
            this.rightFuzzyUserId = solveNullList(rightFuzzyUserId);
            return this;
        }

        public ConditionBuilder userIdList(String ... userId){
            this.userIdList = solveNullList(userId);
            return this;
        }

        public ConditionBuilder userIdList(List<String> userId){
            this.userIdList = userId;
            return this;
        }

        public ConditionBuilder fuzzyPath (List<String> fuzzyPath){
            this.fuzzyPath = fuzzyPath;
            return this;
        }

        public ConditionBuilder fuzzyPath (String ... fuzzyPath){
            this.fuzzyPath = solveNullList(fuzzyPath);
            return this;
        }

        public ConditionBuilder rightFuzzyPath (List<String> rightFuzzyPath){
            this.rightFuzzyPath = rightFuzzyPath;
            return this;
        }

        public ConditionBuilder rightFuzzyPath (String ... rightFuzzyPath){
            this.rightFuzzyPath = solveNullList(rightFuzzyPath);
            return this;
        }

        public ConditionBuilder pathList(String ... path){
            this.pathList = solveNullList(path);
            return this;
        }

        public ConditionBuilder pathList(List<String> path){
            this.pathList = path;
            return this;
        }

        public ConditionBuilder fuzzySuffix (List<String> fuzzySuffix){
            this.fuzzySuffix = fuzzySuffix;
            return this;
        }

        public ConditionBuilder fuzzySuffix (String ... fuzzySuffix){
            this.fuzzySuffix = solveNullList(fuzzySuffix);
            return this;
        }

        public ConditionBuilder rightFuzzySuffix (List<String> rightFuzzySuffix){
            this.rightFuzzySuffix = rightFuzzySuffix;
            return this;
        }

        public ConditionBuilder rightFuzzySuffix (String ... rightFuzzySuffix){
            this.rightFuzzySuffix = solveNullList(rightFuzzySuffix);
            return this;
        }

        public ConditionBuilder suffixList(String ... suffix){
            this.suffixList = solveNullList(suffix);
            return this;
        }

        public ConditionBuilder suffixList(List<String> suffix){
            this.suffixList = suffix;
            return this;
        }

        public ConditionBuilder fuzzySize (List<String> fuzzySize){
            this.fuzzySize = fuzzySize;
            return this;
        }

        public ConditionBuilder fuzzySize (String ... fuzzySize){
            this.fuzzySize = solveNullList(fuzzySize);
            return this;
        }

        public ConditionBuilder rightFuzzySize (List<String> rightFuzzySize){
            this.rightFuzzySize = rightFuzzySize;
            return this;
        }

        public ConditionBuilder rightFuzzySize (String ... rightFuzzySize){
            this.rightFuzzySize = solveNullList(rightFuzzySize);
            return this;
        }

        public ConditionBuilder sizeList(String ... size){
            this.sizeList = solveNullList(size);
            return this;
        }

        public ConditionBuilder sizeList(List<String> size){
            this.sizeList = size;
            return this;
        }

        public ConditionBuilder createTimeBetWeen(java.time.LocalDateTime createTimeSt,java.time.LocalDateTime createTimeEd){
            this.createTimeSt = createTimeSt;
            this.createTimeEd = createTimeEd;
            return this;
        }

        public ConditionBuilder createTimeGreaterEqThan(java.time.LocalDateTime createTimeSt){
            this.createTimeSt = createTimeSt;
            return this;
        }
        public ConditionBuilder createTimeLessEqThan(java.time.LocalDateTime createTimeEd){
            this.createTimeEd = createTimeEd;
            return this;
        }


        public ConditionBuilder createTimeList(java.time.LocalDateTime ... createTime){
            this.createTimeList = solveNullList(createTime);
            return this;
        }

        public ConditionBuilder createTimeList(List<java.time.LocalDateTime> createTime){
            this.createTimeList = createTime;
            return this;
        }

        public ConditionBuilder statusBetWeen(Integer statusSt,Integer statusEd){
            this.statusSt = statusSt;
            this.statusEd = statusEd;
            return this;
        }

        public ConditionBuilder statusGreaterEqThan(Integer statusSt){
            this.statusSt = statusSt;
            return this;
        }
        public ConditionBuilder statusLessEqThan(Integer statusEd){
            this.statusEd = statusEd;
            return this;
        }


        public ConditionBuilder statusList(Integer ... status){
            this.statusList = solveNullList(status);
            return this;
        }

        public ConditionBuilder statusList(List<Integer> status){
            this.statusList = status;
            return this;
        }

        private <T>List<T> solveNullList(T ... objs){
            if (objs != null){
            List<T> list = new ArrayList<>();
                for (T item : objs){
                    if (item != null){
                        list.add(item);
                    }
                }
                return list;
            }
            return null;
        }

        public ConditionBuilder build(){return this;}
    }

    public static class Builder {

        private Upload obj;

        public Builder(){
            this.obj = new Upload();
        }

        public Builder id(Integer id){
            this.obj.setId(id);
            return this;
        }
        public Builder name(String name){
            this.obj.setName(name);
            return this;
        }
        public Builder userId(String userId){
            this.obj.setUserId(userId);
            return this;
        }
        public Builder path(String path){
            this.obj.setPath(path);
            return this;
        }
        public Builder suffix(String suffix){
            this.obj.setSuffix(suffix);
            return this;
        }
        public Builder size(String size){
            this.obj.setSize(size);
            return this;
        }
        public Builder createTime(java.time.LocalDateTime createTime){
            this.obj.setCreateTime(createTime);
            return this;
        }
        public Builder status(Integer status){
            this.obj.setStatus(status);
            return this;
        }
        public Upload build(){return obj;}
    }

}
